package NodeList;

/**
 * @ Author     ：侯耀祖
 * @ Description：
 */
public class swapPairs {
    public ListNode swapPairs(ListNode head) {
        ListNode node = head;
        ListNode anode = head;
        int c=0;
        while (anode!=null){
            c++;
            anode=anode.next;
        }
        if (c<=1){
            return head;
        } else {
            head=head.next;
        }
//        try {
//            if (head==null || head.next==null){
//                return head;
//            }else {
//                head = head.next;
//            }
//
//        }catch (NullPointerException e){
//
//        }
        ListNode pre = new ListNode();
        int count=0;
        while(node != null){
            ListNode temp;
            count++;
            if(count==1){
                if(node.next!=null){
                    temp=node.next;
                    node.next=temp.next;
                    temp.next=node;
                    pre = node;
                }
            } else {
                if(node.next!=null){
                    temp=node.next;
                    node.next=temp.next;
                    temp.next=node;
                    pre.next = temp;
                    pre = node;
                }
            }
            node=node.next;
        }
        return head;
    }
}
